<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>v-bind 操作class 导航栏切换class类名</title>
    <style>
        * {
            padding: 0;
            margin: 0;
        }

        a {
            text-decoration: none;
            color: black;
            padding: 10px;
            font-size: 20px;
            font-weight: bold;
        }

        .clearfix::after {
            content: "";
            display: table;
            clear: both;
        }

        li {
            list-style: none;
        }

        ul {
            margin: 40px auto;
            border-bottom: 3px solid #ccc;
        }

        li {
            float: left;
            padding: 10px 0;
        }

        .active {
            color: #fff;
            background-color: red;
        }
    </style>
</head>

<body>
    <!-- 
        1.对象
            对象-> 键就是类名,值是布尔值。如果值为true，有这个类，否则没有这个类
            语法：<div class="box" :class="{类名1:true,类名2:false}"></div>
            适用场景：一个类名，来回切换  
        
        2.数组
            数组-> 数组中的所有类，都会添加到盒子上，本质就是第一个class列表
            语法：<div class="box" :class="['类名1','类名2','类名3']"></div>
            适用场景：批量添加或删除类
    -->
    <div id="app">
        <ul class="clearfix">
            <li v-for="(item,index) in list" :key="item.id" @click="activeIndex=index">
                <a href="#" :class="{active:index===activeIndex}">{{item.name}}</a>
            </li>
        </ul>
    </div>

    <!-- 
        案例步骤
            1.渲染 数据 v-for
            2.activeIndex 在渲染的时候用index和activeIndex比较是否相等如果相等就返回true 使用这个类名
            3.在li元素注册点击事件让activeIndex=index 然后添加类名
    -->
    <script src="./script/vue.js"></script>
    <script>
        const app = new Vue({
            el: '#app',
            data: {
                activeIndex: 0,
                list: [
                    { id: 1, name: '京东秒杀' },
                    { id: 2, name: '每日特价' },
                    { id: 3, name: '品类秒杀' }
                ]
            }
        })
    </script>
</body>

</html>